package com.xtoad.ecms.common.web.base;

import java.util.List;


/**
 * 对象转换器接口
 *
 * @param <T> DTO类
 * @param <K> Model类
 * @author xtoad
 * @date 2020/05/29
 */
public interface IConverter<T extends BaseDTO, K extends BaseModel> {
    /**
     * Model To DTO
     *
     * @param model 源
     * @return 目标
     */
    T toDto(K model);

    /**
     * DTO To Model
     *
     * @param dto 源
     * @return 目标
     */
    K toModel(T dto);

    /**
     * 批量Model To DTO
     *
     * @param models 源
     * @return 目标
     */
    List<T> toDtoList(List<K> models);

    /**
     * 批量DTO To Model
     *
     * @param dtos 源
     * @return 目标
     */
    List<K> toModelList(List<T> dtos);

}
